<?php
require_once '../config/DatabaseHandler.php';
require_once '../classes/Localidad.php';
require_once '../classes/Zona.php';


/* 
 * Metodo que busca todas las zonas donde su descripcion contenga la cadena recibida  
 */
function buscarLocalidad(){

	$descripcion = $_POST['descripcion'];
	$zona = $_POST['zona'];

	$db = new DatabaseHandler();
	$db->connect();
	$select = 'select l.id as id, l.descripcion as descripcion, z.descripcion as zDescripcion from localidad as l, zona as z where l.descripcion like "%'. $descripcion .'%" and l.zona_id = z.id';
	if (isset($zona) and $zona != '0'){
		$select .= ' and l.zona_id = '.$zona;
	}
	$db->freeQuery($select);
	$db->disconnect();
	return json_encode($db->getResult());

}
function buscarLocalidadPorDescripcionExacta($descripcion){

	$db = new DatabaseHandler();
	$db->connect();
	$where = ' descripcion ="'. $descripcion.'"' ;
	$db->select(Localidad::getNombreTabla(),'*',$where);
	$db->disconnect();
	return json_encode($db->getResult());

}
function buscarLocalidadPorId(){

	$id = $_POST['id'];

	$db = new DatabaseHandler();
	$db->connect();
	$where = ' id ='. $id;
    $result = $db->select(Localidad::getNombreTabla(),'*',$where);
	$db->disconnect();
	return  json_encode($db->getResult());
}

/*
 * Metodo que crea una localidad a partir de una descripcion.
 */
function crearLocalidad(){
	
 	if(!isset($_POST['descripcion']) ){
 		return fail;
 	}
	$db = new DatabaseHandler();
	$db->connect();
	if ($db->insert(Localidad::getNombreTabla(), array($_POST['descripcion'], $_POST['zona']), array('descripcion', 'zona_id'))){
		@mysql_query("COMMIT");
		$db->disconnect();
		return json_encode('inserto la localidad correctamente');
	}
	return json_encode('no pudo insertar');
}

function eliminarLocalidad(){
	if(!isset($_POST['idLocalidad'])){
		return fail;
	}
	$db = new DatabaseHandler();
	$db->connect();
	$where = "id = ".$_POST['idLocalidad'];
	if ($db->delete(Localidad::getNombreTabla(), $where)){
		@mysql_query("COMMIT");
		$db->disconnect();
		return json_encode('elimino la localidad correctamente');
	}
	return json_encode('no pudo eliminar');
}

function modificarLocalidad(){
	if(!isset($_POST['id'])){
		return fail;
	}
	if(!isset($_POST['descripcion'])){
		return fail;
	}
	if(!isset($_POST['zona'])){
		return fail;
	}
	
	//$db->update('mysqlcrud',array('name'=>'Changed2!'),array('id',2))
	$db = new DatabaseHandler();
	$db->connect();
	if ($db->update(Localidad::getNombreTabla(), array('descripcion' => $_POST['descripcion'], 'zona_id'=>$_POST['zona'] ), array('id', $_POST['id']))){
		@mysql_query("COMMIT");
		$db->disconnect();
		return json_encode('modifico la localidad correctamente');
	}
	return json_encode('no pudo modificar');
}

function buscarLocalidadesPorZona(){

	$zona = $_POST['zona'];

	$db = new DatabaseHandler();
	$db->connect();
	$select = 'select l.id as id, l.descripcion as descripcion, z.descripcion as zDescripcion from localidad as l, zona as z where l.zona_id = z.id and l.zona_id='.$zona;
	$db->freeQuery($select);
	$db->disconnect();
	return json_encode($db->getResult());

}

?>